#ifndef __SCNS_PMW3901_H__
#define __SCNS_PMW3901_H__

#include "ScnsConfig.h"

#if defined(SCNS_PMW3901_ENABLE)&&SCNS_PMW3901_ENABLE==1

#include "ScnsBspPmw3901.h"

#include "ScnsYing.h"

typedef enum
{
    SCNS_PMW3901_STATUS_OK=SCNS_YING_STATUS_OK,
    SCNS_PMW3901_STATUS_BSP_FAILED=SCNS_YING_STATUS_BSP_FAILED,
    SCNS_PMW3901_STATUS_FAILED=SCNS_YING_STATUS_FAILED,
    SCNS_PMW3901_STATUS_TIME_OUT=SCNS_YING_STATUS_TIME_OUT,
}ScnsPmw3901Status;

typedef struct
{
    float x;
    float y;
    float sumX;
    float sumY;
}ScnsPmw3901Result;

extern ScnsPmw3901Result scnsPmw3901Result[SCNS_PMW3901_MAX];

extern ScnsPmw3901Status scnsPmw3901Init(ScnsPmw3901Enum pmwN);
extern void scnsPmw3901Interrupt(ScnsPmw3901Enum pmwN);

#endif
#endif
